package com.xbongbong.saas.model.impl;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.util.DateTimeUtil;
import com.xbongbong.saas.domain.dao.KeFuOnLineLogDao;
import com.xbongbong.saas.domain.entity.KeFuOnLineLogEntity;
import com.xbongbong.saas.model.KeFuOnLineLogModel;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * @version v1.0
 * @auther: youli.chen
 * @date 2021/3/31 9:38 上午
 * @since v1.0
 */
@Service("keFuOnLineLogModel")
public class KeFuOnLineLogModelImpl implements KeFuOnLineLogModel {

    @Resource
    private KeFuOnLineLogDao keFuOnLineLogDao;

    @Override
    public Integer insert(KeFuOnLineLogEntity entity) throws XbbException {
        Long now = DateTimeUtil.getInt();
        entity.setAddTime(now);
        entity.setUpdateTime(now);

        return keFuOnLineLogDao.insert((KeFuOnLineLogEntity)entity);
    }

    @Override
    public Integer update(KeFuOnLineLogEntity entity) throws XbbException {
        entity.setUpdateTime(DateTimeUtil.getInt());

        return keFuOnLineLogDao.update(entity);
    }

    /**
     * 保存
     * @param entity
     * @return
     * 创建时间： 2018年7月23日 下午5:14:30
     * 修改时间： 2018年7月23日 下午5:14:30 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public Integer save(KeFuOnLineLogEntity entity) throws XbbException {

        if(entity.getId() == null || Objects.equals(0, entity.getId())) {
            return insert(entity);
        }
        return update(entity);
    }

    /**
     * 批量插入
     * @param entityList
     * 创建时间： 2018年7月23日 下午5:14:33
     * 修改时间： 2018年7月23日 下午5:14:33 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public void insertBatch(List<KeFuOnLineLogEntity> entityList) {
        keFuOnLineLogDao.insertBatch(entityList);
    }

    /**
     * 删除
     * @param key
     * @param corpid
     * @return
     * 创建时间： 2018年7月23日 下午5:14:39
     * 修改时间： 2018年7月23日 下午5:14:39 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public Integer deleteByKey(Integer key, String corpid){
        return keFuOnLineLogDao.deleteByKey(key , corpid);
    }

    /**
     * 获取信息
     * @param key
     * @param corpid
     * @return
     * 创建时间： 2018年7月23日 下午5:14:52
     * 修改时间： 2018年7月23日 下午5:14:52 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public KeFuOnLineLogEntity getByKey(Integer key, String corpid){
        return keFuOnLineLogDao.getByKey(key , corpid);
    }

    /**
     * 获取列表
     * @param param
     * @return
     * 创建时间： 2018年7月23日 下午5:14:49
     * 修改时间： 2018年7月23日 下午5:14:49 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public List<KeFuOnLineLogEntity> findEntitys(Map<String ,Object> param){
        return keFuOnLineLogDao.findEntitys(param);
    }

    /**
     * 获取数量
     * @param param
     * @return
     * 创建时间： 2018年7月23日 下午5:14:46
     * 修改时间： 2018年7月23日 下午5:14:46 youli.chen
     * @author youli.chen
     * @since v3.26
     * @version v3.26
     */
    @Override
    public Integer getEntitysCount(Map<String ,Object>  param){
        return keFuOnLineLogDao.getEntitysCount(param);
    }

    @Override
    public List findEntitysWithoutSub(Map<String, Object> param) {
        return null;
    }
}
